package com.myapp.struts;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import com.myapp.persistance.BaseDeDonnee;
import java.sql.Connection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author Vinu
 */
public class LoginAction extends org.apache.struts.action.Action {

    /* forward name="success" path="" */
    private static final String SUCCESS = "success";    
    private static final String SUCCESS_ADMIN = "success_admin"; 
    private static final String SUCCESS_COMMERCANT = "success_commercant"; 
    private static final String SUCCESS_CLIENT = "success_client";
    private static final String FAILURE = "failure";
    

    /**
     * This is the action called from the Struts framework.
     *
     * @param mapping The ActionMapping used to select this instance.
     * @param form The optional ActionForm bean for this request.
     * @param request The HTTP Request we are processing.
     * @param response The HTTP Response we are processing.
     * @throws java.lang.Exception
     * @return
     */
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        Login p = (Login)form;     
               
        Panier pan = new Panier();
        pan= (Panier)request.getSession().getAttribute("panier");
        pan.delete();
        request.getSession().setAttribute("panier", pan);
        
        
        Login log = new Login();    
        
        
            //connection to database
           BaseDeDonnee bd = new BaseDeDonnee();
           Connection con = bd.connecter();  
           request.logout();
           log= bd.getUser(con, p );
           
           if(log!=null   )
           {
              if(log.getLogin()!=null)
              {
               if(!log.getLogin().equalsIgnoreCase(""))
              {
                    if (log.getStatus().equalsIgnoreCase("admin"))
                    {request.getSession().setAttribute("login", log);
                     return mapping.findForward(SUCCESS_ADMIN);
                    }
                   else if (log.getStatus().equalsIgnoreCase("client"))
                    {
                     request.getSession().setAttribute("login", log);
                     return mapping.findForward(SUCCESS_CLIENT);
                    } 
                   else if (log.getStatus().equalsIgnoreCase("commercant"))
                    {
                     request.getSession().setAttribute("login", log);
                     return mapping.findForward(SUCCESS_COMMERCANT);
                    } 
                    else
                     {
                      return mapping.findForward(SUCCESS);
                     } 
              }
               else
                     {
                      return mapping.findForward(SUCCESS);
                     } 
              }
              else
              {return mapping.findForward(SUCCESS);
              }
           
           }
           
           else
           {
           return mapping.findForward(SUCCESS);
           }
    }
}
